在這份指南中,我們將探討如何建立一個爬蟲程式,用於從網頁上抓取文件和圖片,然後將這些數據上傳到Azure Blob Storage服務中。Azure Blob Storage是一個強大的雲端儲存解決方案,它可以確保使用者的數據安全、可擴展,並提供輕鬆的存取和管理。
確保使用者已安裝Python,以及以下相關庫:
pip install beautifulsoup4
pip install requests
pip install azure-storage-blob
以下是一個Python爬蟲程式的示例,用於爬取圖片和文件,並將它們上傳到Azure Blob Storage:
import requests
from bs4 import BeautifulSoup
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
# 目標網頁的URL
url = "https://example.com" # 替換為使用者的目標網頁URL
# 使用requests庫下載網頁內容
response = requests.get(url)
html = response.text
# 解析HTML內容
soup = BeautifulSoup(html, "html.parser")
# 找到圖片和文件連結
img_links = []
file_links = []
for img in soup.find_all("img"):
img_url = img.get("src")
if img_url and img_url.startswith("http"):
img_links.append(img_url)
for a in soup.find_all("a"):
file_url = a.get("href")
if file_url and file_url.startswith("http"):
file_links.append(file_url)
# 創建BlobServiceClient
connection_string = "Your-Storage-Connection-String" # 替換為使用者的Azure Blob Storage連接字串
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
# 創建容器
container_name = "webdata"
container_client = blob_service_client.get_container_client(container_name)
# 上傳圖片
for img_url in img_links:
img_data = requests.get(img_url).content
blob_client = container_client.get_blob_client(os.path.basename(img_url))
blob_client.upload_blob(img_data)
print(f"Uploaded image: {img_url}")
# 上傳文件
for file_url in file_links:
file_data = requests.get(file_url).content
blob_client = container_client.get_blob_client(os.path.basename(file_url))
blob_client.upload_blob(file_data)
print(f"Uploaded file: {file_url}")
print("爬取並上傳完成")
在這個示例中,我們使用requests庫來下載網頁內容,Beautiful Soup來解析HTML,然後找到所有圖片和文件連結。接著,我們使用Azure Blob Storage服務來創建一個容器,然後上傳圖片和文件。
保存上面的程式到一個.py檔案中,然後在終端中執行它:
python your_crawler.py
程式將爬取網頁中的圖片和文件,然後將它們上傳到Azure Blob Storage的"webdata"容器中。
這份指南展示了如何結合爬蟲程式和Azure Blob Storage來儲存從網頁上抓取的文件和圖片。這個過程可以幫助使用者有效地儲存和管理使用者的數據,並確保數據的安全性。請注意,使用者需要替換程式中的"Your-Storage-Connection-String"和其他參數,以適應使用者的Azure Blob Storage設置。
又過了一天~感謝大家觀看!
天氣在早晚都有些轉涼,大家要保重身體呦!🍵 🍵 🍵